repo.or.cz
/
andmenj-acm.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
924 - Spreading the news (BFS, grafos) & 10004 - Bicoloring (DFS, grafos)
[andmenj-acm.git]
/
846 - Steps
/
p846.cpp
blob
0dc59e81a9b6d1d7f73b9bdeb0ec486f2197740f
1
#include <iostream>
2
using namespace
std
;
3
4
long
f
(
long
x
){
5
if
(
x
==
0
)
return
0
;
6
long
raiz
=
1
;
7
while
(
raiz
*
raiz
<=
x
) ++
raiz
;
8
--
raiz
;
9
long
suma
=
raiz
*
raiz
;
10
long
terminos
=
2
*
raiz
-
1
;
11
long
diferencia
=
x
-
suma
;
12
long
i
=
raiz
;
13
while
(
diferencia
>
0
){
14
if
(
diferencia
-
i
>=
0
){
15
diferencia
-=
i
;
16
++
terminos
;
17
}
else
--
i
;
18
}
19
return
terminos
;
20
21
}
22
23
int
main
(){
24
int
n
;
25
cin
>>
n
;
26
while
(
n
-- >
0
){
27
long
x
,
y
;
28
cin
>>
x
>>
y
;
29
cout
<<
f
(
y
-
x
) <<
endl
;
30
}
31
return
0
;
32
}